package com.nuanshui.heatedloan.fund.biz.dal.mapper;

import com.nuanshui.heatedloan.fund.model.JadeCurrencyUse;
import com.nuanshui.heatedloan.fund.model.JadeMoneyRule;
import com.nuanshui.heatedloan.fund.model.SystemCurrency;
import com.nuanshui.heatedloan.fund.model.SystemCurrencyDetail;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;



public interface JadeCurrencyMapper {
	
	List<JadeMoneyRule> selectJadeMoneyRule();
	void saveSystemCurrency(SystemCurrency sc);
	SystemCurrency selectSystemCurrency(@Param("dealNum") String dealNum);
	void updateSystemCurrency(@Param("dealNum") String dealNum, @Param("price") Long price);
	void saveSystemCurrencyDetail(@Param("dealNum") String dealNum, @Param("price") Long price, @Param("type") Integer type, @Param("createdAt") Date createdAt);
	List<SystemCurrencyDetail> selectSystemCurrencyDetail(@Param("dealNum") String dealNum);
    void saveSystemCurrencyUse(@Param("jadeCurrency") Long jadeCurrency, @Param("planId") String planId, @Param("userId") String userId, @Param("type") int type, @Param("orderNum") String orderNum, @Param("status") int status);
    JadeCurrencyUse selectJadeCurrencyUsc(@Param("orderNum") String orderNum);
    Integer selectJadeCurrencyUserIdRuleId(@Param("userId") String userId, @Param("ruleId") String ruleId);
    void updateSystemCurrencyUscStutus(@Param("orderNum") String orderNum);
    void updateSystemCurrencyUscPrice(@Param("orderNum") String orderNum, @Param("jadeCurrency") Long jadeCurrency);
    //玉币充值成功后添加账单记录
    void insertBillRecord(@Param("money") long money, @Param("userId") String userId, @Param("type") int type, @Param("status") int status, @Param("platform") String platform, @Param("dealNum") String dealNum, @Param("name") String name, @Param("bizId") String bizId, @Param("des") String des, @Param("accountNum") String accountNum, @Param("subType") Long subType);
    
    /**
     * 获取某个用户的虚拟币数
     * @param @param userId
     * @param @return
     * @author guohao
     * @date 2016年7月7日 上午10:00:10
     * @since $
     */
    Long loadTotalJadeCurrency(@Param("userId") String userId);
	
	/***
	 * 退还玉币使用
	 * @param @param dealNum
	 * @author guohao
	 * @date 2016年7月22日 下午4:30:10
	 * @since $
	 */
    void refundSystemCurrencyUsc(@Param("dealNum") String dealNum);
	
	
	

}
